前後端分離已成為業界的標準之一, 有效的分離解藕, 可以讓我們的專案維護更容易,
業務邏輯更清晰, 不會像以往牽一髮而動全身,
同時也可以支援不同客戶端服務(Web, APP, IoT)等等。
1. 早期的MVC:
以往我們的架構都是 SpringMVC/Struts + Spring + Hibernate,
後端包括了Controller,Service, Dao等等
Controller會接收參數, 呼叫Service處理, 處理完再導向指定的頁面渲染,
JSP頁面上有各種標籤與表達式, 將後台數據展現出來。
假設JSP頁面上有3張圖片, 5個CSS文件, 4個JS檔,
則第一次請求時因為Browser並沒有這些cache,
所以看似一次的請求, 實際上執行了12次, 人數少時還好,
人數一多Server承受的壓力非常大, 不僅載入速度慢, 甚至導致請求失敗,
這也就是為什麼現在大型互聯網都走前後端分離的原因。
2. 現在的前後端分離:
Browser發送請求到前端, 直接到達頁面, 由前端控制導頁與渲染,
並經由AJAX向後端Restful API接口發送請求, 獲取JSON數據。
後端只負責業務邏輯, 與數據傳輸,
採用JSON格式, 不僅比XML簡潔且效能更好
後端開發人員也能專注在後端的邏輯與事務處理(Transaction)等等。
前後分離不僅能減少後端Server的壓力, 人數乘載提高, 頁面渲染也更快, 用戶體驗更好。
下一章將從後端Spring Boot開始講起
Day 2 - Spring Boot 介紹, 開發工具與架構